package cn.tedu.blog.server.service;

import cn.tedu.blog.server.pojo.dto.CategoryAddDTO;
import cn.tedu.blog.server.pojo.dto.CategoryAddNewDTO;
import cn.tedu.blog.server.pojo.vo.CategoryDetailVO;
import cn.tedu.blog.server.pojo.vo.CategoryListVO;


import java.util.List;

public interface ICategoryService {
    void addNew(CategoryAddNewDTO categoryAddNewDTO);

    void deleteById(Long id);

    void updateById(Long id,CategoryAddDTO categoryAddDTO);

    CategoryDetailVO categorySelect(Long id);

    List<CategoryListVO> list();

    /**
     * 根据id批量删除多个分类
     */
    int deleteByIds(Long[] ids);

    /**
     * 查询当前分类下的文章数
     */
    int articleCount(Long id);



//    List<CategoryDetailVO> select();
//
//    /**
//     * 创建类别
//     * @param categoryAddDTO
//     * @return
//     */
//    @Transactional
//    void insert(CategoryAddDTO categoryAddDTO);
//
//
//    /**
//     * 删除类别
//     */
//    @Transactional
//    void delete(Long id);
//
//
//    /**
//     * 修改类别
//     */
//    @Transactional
//    void update(CategoryAddDTO categoryAddDTO);
//
//
    /**
     * 条件分页查询
     * @param categoryListVO
     * @return
     */
    List<CategoryListVO> listByCategory(CategoryListVO categoryListVO);

//
    /**
     * 查询所有数据数量，用于计算页码
     * @return
     */
    int getCountAll(CategoryListVO categoryListVO);

   /*前台查询分类列表  缓存*/
    List<CategoryListVO> AllList();
//
//
//    /**
//     * 根据类别ID查询完成数据回填
//     * @param id
//     * @return
//     */
//    CategoryListVO getBackFillById(Long id);
}
